package main

import (
	"fmt"
	"time"
	"sync"
)

var wg sync.WaitGroup //计时器，同步等待

func read() {
	defer wg.Done()
	fmt.Println("read start")
	time.Sleep(time.Second*3) //等待3秒
	fmt.Println("read end")

}
func listenMusic() {
	defer wg.Done()
	fmt.Println("listenMusic start")
	time.Sleep(time.Second*5) //等待5秒
	fmt.Println("listenMusic end")
}

func main(){
	start := time.Now().Unix()

	//直接加两次
	// wg.Add(2)
	//for循环加两次
	for i := 0; i < 2; i++ {
		wg.Add(1)
	}

	//主线程执行完了，子线程也就不存在
	go read()
	go listenMusic() 
	// time.Sleep(time.Second*6) //等待6秒

	wg.Wait()  //计数器为0继续执行
	end := time.Now().Unix()
	fmt.Println("over，耗时：：",end-start)
}